package cn.fl.customer.transform;

import java.util.ArrayList;
import java.util.List;

import cn.fl.customer.vo.FilFinanceDebtVO;
import cn.cmm.base.framework.utils.CollectionUtils;
import fl.customer.facade.customer.dto.FilFinanceDebtDTO;

/**
 * @Description: 资信财务报表---资产负债表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class FilFinanceDebtVOTransform {


	/**
	 * DTO 转  VO
	 * @param dto FilFinanceDebtDTO
	 * @return FilFinanceDebtVO
	 */
	public static FilFinanceDebtVO toVO(FilFinanceDebtDTO dto) {
		FilFinanceDebtVO  vo = null;
		if (dto != null) { 
			vo = new FilFinanceDebtVO();
			vo.setId(dto.getId());
			vo.setBelongDate(dto.getBelongDate());//报表年份
			vo.setReporttype(dto.getReporttype());//报表类型
			vo.setReportsubtype(dto.getReportsubtype());//报表类型细分
			vo.setAuditinstitute(dto.getAuditinstitute());//审计事务所名称
			vo.setAuditstaff(dto.getAuditstaff());//审计人员名称
			vo.setAuditime(dto.getAuditime());//审计时间
			vo.setTradeFinanceAsset(dto.getTradeFinanceAsset());//交易性金融资产
			vo.setCurrencyFunds(dto.getCurrencyFunds());//货币资金
			vo.setShortInvestment(dto.getShortInvestment());//短期投资
			vo.setAccountsBills(dto.getAccountsBills());//应收票据
			vo.setAccountsSection(dto.getAccountsSection());//应收帐款
			vo.setPrepaid(dto.getPrepaid());//预付帐款
			vo.setAccountsInterest(dto.getAccountsInterest());//应收利息
			vo.setAccountsDivident(dto.getAccountsDivident());//应收股利
			vo.setOtherAccount(dto.getOtherAccount());//其他应收款
			vo.setStock(dto.getStock());//存货
			vo.setInYearLongAsset(dto.getInYearLongAsset());//一年内到期的非流动资产
			vo.setFlowOtherAssets(dto.getFlowOtherAssets());//其他流动资产
			vo.setFlowAssetsTotal(dto.getFlowAssetsTotal());//流动资产合计
			vo.setSaleFinanceAsset(dto.getSaleFinanceAsset());//可供出售的金融资产
			vo.setHoldMatureInvest(dto.getHoldMatureInvest());//持有至到期投资
			vo.setLongOptionInvest(dto.getLongOptionInvest());//长期股权投资
			vo.setLongTermAccount(dto.getLongTermAccount());//长期应收款
			vo.setRealEstateInvest(dto.getRealEstateInvest());//投资性房地产
			vo.setFixedAssentOriginal(dto.getFixedAssentOriginal());//固定资产原值
			vo.setProgressProject(dto.getProgressProject());//在建工程
			vo.setProjectSupplies(dto.getProjectSupplies());//工程物资
			vo.setFixedClean(dto.getFixedClean());//固定资产清理
			vo.setProduceBiosAsset(dto.getProduceBiosAsset());//生产性生物资产
			vo.setOilGasAsset(dto.getOilGasAsset());//油气资产
			vo.setInvisibleNet(dto.getInvisibleNet());//无形资产
			vo.setDevelopExpend(dto.getDevelopExpend());//开发支出
			vo.setGoodwill(dto.getGoodwill());//商誉
			vo.setLongPrepaidFee(dto.getLongPrepaidFee());//长期待摊费用
			vo.setDeferredTax(dto.getDeferredTax());//递延税款借项
			vo.setOtherLongNet(dto.getOtherLongNet());//其他长期资产
			vo.setNonflowAssetsTotal(dto.getNonflowAssetsTotal());//非流动资产合计
			vo.setNetTotal(dto.getNetTotal());//资产总和
			vo.setShortLoan(dto.getShortLoan());//短期借款
			vo.setTradeFinanceDabt(dto.getTradeFinanceDabt());//交易性金融负债
			vo.setCopeBills(dto.getCopeBills());//应付票据
			vo.setCopeSection(dto.getCopeSection());//应付帐款
			vo.setAdvance(dto.getAdvance());//预收帐款
			vo.setCopeInterest(dto.getCopeInterest());//应付利息
			vo.setCopeWage(dto.getCopeWage());//应付工资
			vo.setLdfzA(dto.getLdfzA());//流动负债-应交税金
			vo.setCopeDividend(dto.getCopeDividend());//应付股利
			vo.setOtherCopeSection(dto.getOtherCopeSection());//其他应付款
			vo.setInYearLongDabt(dto.getInYearLongDabt());//一年内到期长期负债
			vo.setLdfzD(dto.getLdfzD());//流动负债-其他流动负债
			vo.setFlowDabtTotal(dto.getFlowDabtTotal());//流动负债合计
			vo.setLongLoan(dto.getLongLoan());//长期借款
			vo.setCopeBond(dto.getCopeBond());//应付债券
			vo.setLongCopeSection(dto.getLongCopeSection());//长期应付款
			vo.setSpecialPayment(dto.getSpecialPayment());//专项应付款
			vo.setLdfzC(dto.getLdfzC());//流动负债-预计负债
			vo.setDeferredTexItem(dto.getDeferredTexItem());//递延税款贷项
			vo.setOtherLongDabt(dto.getOtherLongDabt());//其他长期负债
			vo.setLongDabtTotal(dto.getLongDabtTotal());//长期负债合计
			vo.setDabtTotal(dto.getDabtTotal());//负债合计
			vo.setPaidCapital(dto.getPaidCapital());//实收资本
			vo.setCapitalReserve(dto.getCapitalReserve());//资本公积
			vo.setStockCapital(dto.getStockCapital());//库存股
			vo.setSurplusReserve(dto.getSurplusReserve());//盈余公积
			vo.setNotProfit(dto.getNotProfit());//未分配利润
			vo.setOwerTotal(dto.getOwerTotal());//所有者权益合计
			vo.setDabtOwerTotal(dto.getDabtOwerTotal());//负债所有者权益合计
			vo.setIsDel(dto.getIsDel());//是否删除（1：是，0：否）
			vo.setCstId(dto.getCstId());//客户ID

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param vo FilFinanceDebtVO
	 * @return FilFinanceDebtDTO
	 */
	public static FilFinanceDebtDTO toDTO(FilFinanceDebtVO vo) {
		FilFinanceDebtDTO dto = null;
		if (vo != null) {
			dto = new FilFinanceDebtDTO();
			dto.setId(vo.getId());
			dto.setBelongDate(vo.getBelongDate());//报表年份
			dto.setReporttype(vo.getReporttype());//报表类型
			dto.setReportsubtype(vo.getReportsubtype());//报表类型细分
			dto.setAuditinstitute(vo.getAuditinstitute());//审计事务所名称
			dto.setAuditstaff(vo.getAuditstaff());//审计人员名称
			dto.setAuditime(vo.getAuditime());//审计时间
			dto.setTradeFinanceAsset(vo.getTradeFinanceAsset());//交易性金融资产
			dto.setCurrencyFunds(vo.getCurrencyFunds());//货币资金
			dto.setShortInvestment(vo.getShortInvestment());//短期投资
			dto.setAccountsBills(vo.getAccountsBills());//应收票据
			dto.setAccountsSection(vo.getAccountsSection());//应收帐款
			dto.setPrepaid(vo.getPrepaid());//预付帐款
			dto.setAccountsInterest(vo.getAccountsInterest());//应收利息
			dto.setAccountsDivident(vo.getAccountsDivident());//应收股利
			dto.setOtherAccount(vo.getOtherAccount());//其他应收款
			dto.setStock(vo.getStock());//存货
			dto.setInYearLongAsset(vo.getInYearLongAsset());//一年内到期的非流动资产
			dto.setFlowOtherAssets(vo.getFlowOtherAssets());//其他流动资产
			dto.setFlowAssetsTotal(vo.getFlowAssetsTotal());//流动资产合计
			dto.setSaleFinanceAsset(vo.getSaleFinanceAsset());//可供出售的金融资产
			dto.setHoldMatureInvest(vo.getHoldMatureInvest());//持有至到期投资
			dto.setLongOptionInvest(vo.getLongOptionInvest());//长期股权投资
			dto.setLongTermAccount(vo.getLongTermAccount());//长期应收款
			dto.setRealEstateInvest(vo.getRealEstateInvest());//投资性房地产
			dto.setFixedAssentOriginal(vo.getFixedAssentOriginal());//固定资产原值
			dto.setProgressProject(vo.getProgressProject());//在建工程
			dto.setProjectSupplies(vo.getProjectSupplies());//工程物资
			dto.setFixedClean(vo.getFixedClean());//固定资产清理
			dto.setProduceBiosAsset(vo.getProduceBiosAsset());//生产性生物资产
			dto.setOilGasAsset(vo.getOilGasAsset());//油气资产
			dto.setInvisibleNet(vo.getInvisibleNet());//无形资产
			dto.setDevelopExpend(vo.getDevelopExpend());//开发支出
			dto.setGoodwill(vo.getGoodwill());//商誉
			dto.setLongPrepaidFee(vo.getLongPrepaidFee());//长期待摊费用
			dto.setDeferredTax(vo.getDeferredTax());//递延税款借项
			dto.setOtherLongNet(vo.getOtherLongNet());//其他长期资产
			dto.setNonflowAssetsTotal(vo.getNonflowAssetsTotal());//非流动资产合计
			dto.setNetTotal(vo.getNetTotal());//资产总和
			dto.setShortLoan(vo.getShortLoan());//短期借款
			dto.setTradeFinanceDabt(vo.getTradeFinanceDabt());//交易性金融负债
			dto.setCopeBills(vo.getCopeBills());//应付票据
			dto.setCopeSection(vo.getCopeSection());//应付帐款
			dto.setAdvance(vo.getAdvance());//预收帐款
			dto.setCopeInterest(vo.getCopeInterest());//应付利息
			dto.setCopeWage(vo.getCopeWage());//应付工资
			dto.setLdfzA(vo.getLdfzA());//流动负债-应交税金
			dto.setCopeDividend(vo.getCopeDividend());//应付股利
			dto.setOtherCopeSection(vo.getOtherCopeSection());//其他应付款
			dto.setInYearLongDabt(vo.getInYearLongDabt());//一年内到期长期负债
			dto.setLdfzD(vo.getLdfzD());//流动负债-其他流动负债
			dto.setFlowDabtTotal(vo.getFlowDabtTotal());//流动负债合计
			dto.setLongLoan(vo.getLongLoan());//长期借款
			dto.setCopeBond(vo.getCopeBond());//应付债券
			dto.setLongCopeSection(vo.getLongCopeSection());//长期应付款
			dto.setSpecialPayment(vo.getSpecialPayment());//专项应付款
			dto.setLdfzC(vo.getLdfzC());//流动负债-预计负债
			dto.setDeferredTexItem(vo.getDeferredTexItem());//递延税款贷项
			dto.setOtherLongDabt(vo.getOtherLongDabt());//其他长期负债
			dto.setLongDabtTotal(vo.getLongDabtTotal());//长期负债合计
			dto.setDabtTotal(vo.getDabtTotal());//负债合计
			dto.setPaidCapital(vo.getPaidCapital());//实收资本
			dto.setCapitalReserve(vo.getCapitalReserve());//资本公积
			dto.setStockCapital(vo.getStockCapital());//库存股
			dto.setSurplusReserve(vo.getSurplusReserve());//盈余公积
			dto.setNotProfit(vo.getNotProfit());//未分配利润
			dto.setOwerTotal(vo.getOwerTotal());//所有者权益合计
			dto.setDabtOwerTotal(vo.getDabtOwerTotal());//负债所有者权益合计
			dto.setIsDel(vo.getIsDel());//是否删除（1：是，0：否）
			dto.setCstId(vo.getCstId());//客户ID

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param list List<FilFinanceDebtDTO>
	 * @return List<FilFinanceDebtVO>
	 */
	public static List<FilFinanceDebtVO> toVOList(List<FilFinanceDebtDTO> list) {
		List<FilFinanceDebtVO>  voList = new ArrayList<FilFinanceDebtVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (FilFinanceDebtDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<FilFinanceDebtVO>
	 * @return List<FilFinanceDebtDTO>
	 */
	public static List<FilFinanceDebtDTO> toDTOList(List<FilFinanceDebtVO> list) {
		List<FilFinanceDebtDTO>  dtoList = new ArrayList<FilFinanceDebtDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (FilFinanceDebtVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
